#include "PageBase.h"
#include "MessageBus.h"

#include <thread>
#include <iostream>


MsgBus::MsgBus() {
   // static std::thread s_GuiMsg(std::bind(MsgBus::ThreadProc, this));
}

//NOTE 启动线程传递消息,这里调用子类的MsgProc函数
void MsgBus::ThreadProc()
{
    MessageBus bus;
    while(1) {
        std::this_thread::sleep_for(std::chrono::microseconds(500));
        std::cout << "std::this_thread::sleep_for" << std::endl;
        bus.SendReq<void>("GUI");
    }
}

MsgBus::~MsgBus() {
    MessageBus bus;
    bus.Remove<void>("GUI");
}

//NOTE 构造函数要完成各种模块的初始化
PageBase::PageBase(const Json::Value pageConfig) {
//TODO: 1. 解析当前的json，2. 依据json加载各个组件
}